//import "java.awt.*";  
//import "javax.swing.*"; import "java.util.*";
//
///*
//  Spell.java
//  (c)1999-2005 SSC Development Team
//  Function: Spell Data Structure
//  - This file only contains basic functions. Advanced statistics operations are
//    performed in Stats.java.
//*/
//
//@implementation 
//Spell {
//  
//public String name, shortname;
//public int mp_cost;
//public int power;
//public int level;
//public int area_size;
//public int range;
///* Tag for general effect of spell */
//public String effect;
//public boolean offensive;
//
///* Graphical / Cinematic specification */
//public Vector<Image> spellImage = new Vector<Image>();
//public String animation_type;
//
//
//public Spell(String name, int level) {
//  this.shortname = name;
//  this.level = level;
//  
//  if(name.equals("Heal")) {
//    this.offensive = false;
//    this.effect = "Heal";
//            
//    if(level == 1) {
//      this.name = "Heal level 1";
//      this.power = 10;
//      this.range = 1;
//      this.area_size = 1;
//      this.mp_cost = 3;
//      this.spellImage.addElement(new ImageIcon("images/spells/heal1.gif").getImage());
//      this.animation_type = "Flashing Above";
//    }
//    if(level == 2) {
//      this.name = "Heal level 2";
//      this.power = 12;
//      this.range = 2;
//      this.area_size = 1;
//      this.mp_cost = 5;
//      this.spellImage.addElement(new ImageIcon("images/spells/heal1.gif").getImage());
//      this.animation_type = "Flashing Above";
//    }
//  }
//  
//  if(name.equals("Blaze")) {
//    this.offensive = true;
//    this.effect = "Fire Damage";
//        
//    if(level == 1) {
//      this.name = "Blaze level 1";
//      this.power = 7;
//      this.range = 2;
//      this.area_size = 1;
//      this.mp_cost = 2;
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze1.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze2.gif").getImage());
//      this.animation_type = "Two-Frame Base";
//    }
//    if(level == 2) {
//      this.name = "Blaze level 2";
//      this.power = 9;
//      this.range = 2;
//      this.area_size = 2;
//      this.mp_cost = 5;
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_1.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_2.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_3.gif").getImage());
//      this.animation_type = "Three-Frame Base";
//    }
//    if(level == 3) {
//      this.name = "Blaze level 3";
//      this.power = 15;
//      this.range = 2;
//      this.area_size = 3;
//      this.mp_cost = 8;
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_1.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_2.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/blaze_lv2_3.gif").getImage());
//      this.animation_type = "Three-Frame Base";
//    }
//  }
//  
//  if(name.equals("Bolt")) {
//    this.offensive = true;
//    this.effect = "Lightning Damage";
//        
//    if(level == 1) {
//      this.name = "Bolt level 1";
//      this.power = 10;
//      this.range = 2;
//      this.area_size = 2;
//      this.mp_cost = 6;
//      this.spellImage.addElement(new ImageIcon("images/spells/bolt_lv1_1.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/bolt_lv1_2.gif").getImage());
//      this.spellImage.addElement(new ImageIcon("images/spells/bolt_lv1_3.gif").getImage());
//      this.animation_type = "Three-Frame Above";
//    }
//  }  
//}
//
//public Entity doEffect(Entity e)  
//{
//  if(effect.equals("Heal")) {
//    e.curhp += power; //add variables?
//    if(e.curhp > e.maxhp) { e.curhp = e.maxhp; }
//  }
//  if(effect.equals("Normal Damage")) {
//    e.curhp -= power;
//    
//  }
//  if(effect.equals("Fire Damage")) {
//    e.curhp -= (power*(80-e.spellres+Math.random()*40)/100);
//  }
//  if(effect.equals("Lightning Damage")) {
//    e.curhp -= (power*(80-e.spellres+Math.random()*40)/100);
//  }
//  if(e.curhp<0) { e.curhp = 0; }
//  return(e);
//  }
//  
//}
